/**
 * 购物车操作
 */

//当前商品数量
var num;
//本地cookie标识
var cookieProductID="yst_shops";
var date = new Date();//设置购物车缓存时间
date.setTime(date.getTime()+30*60*1000);//只能这么写，30分钟
var cookieSet = { expires: date, path: '/' }; //设置cookie 时间和路径

/**
 * 减数量
 * @param on_this
 */
function num_sub(on_this){
    num=$(on_this).next().html();
    if(num-->1){
        $(on_this).next().html(num);
    }else{
        alert("数量不能小于0");
    }
    //计算价格
    Settlement();
    //更新购物车信息
    AddToShoppingCar();
}

/**
 * 加数量
 * @param on_this
 */
function num_add(on_this){
    num=$(on_this).prev().html();
    if(num++<6){
        $(on_this).prev().html(num);
    }else {
        alert("数量不能大于存货量");
    }
    //计算价格
    Settlement();
    //更新购物车信息
    AddToShoppingCar();
}

/**
 * 结算购物车商品
 * @constructor
 */
function Settlement(){
    //总钱
    var money=0;
    //数量
    var num=0;
    //遍历页面上的商品
    $(".cart-list .cart-item").each(function (index,element) {
        //多个商品（单价*数量）累加
        money=money+$(this).children(".price").html().replace(/[^0-9]/ig,"")*$(this).children(".calc").children(".item_num").html();
        num++;
    });
    $(".i_car em").html(num);
    $("#total em").html(num);
    $("#price em").html(money);
}

/**
 * 删除购物车的商品
 */
function num_del(on_this) {
   $(on_this).parent().parent().remove();
    //计算价格
    Settlement();
    //更新购物车信息
    //AddToShoppingCar();

}

/**
 * 初始化本地保存的商品显示到页面
 */
function getToShoppingCar() {
    //本地保存的json字符串转换成对象
    var jsonObj = eval("(" + $.cookie(cookieProductID) + ")");
    //有本地保存数据
    if(jsonObj!=undefined){
        for(var obj in jsonObj) {
                $(".cart-list").prepend(" <li>\n" +
                    "     <div class=\"cart-item first\">\n" +
                    "       <button hidden=\"hidden\" class=\"id\">"+jsonObj[obj].id+"</button>\n" +
                    "       <a class=\"tupian\" href=\"\"><img alt=\"\" src=\""+jsonObj[obj].tupian+"\"></a>\n" +
                    "       <a class=\"name\" href=\"\">"+jsonObj[obj].name+"</a>\n" +
                    "       <span class=\"price\">"+jsonObj[obj].price+"</span>\n" +
                    "     <div class=\"calc select\">\n" +
                    "        <p class=\"item_sub\" onclick=\"num_sub(this)\"></p>\n" +
                    "       <p class=\"item_num\">"+jsonObj[obj].num+"</p>\n" +
                    "      <p class=\"item_add\" onclick=\"num_add(this)\"></p>\n" +
                    "     </div>\n" +
                    "     <a class=\"btn-del J_delItem\" onclick=\"num_del(this)\" href=\"javascript: void(0);\" ><i>x</i></a>\n" +
                    "    </div>\n" +
                    " </li>");
        }
    }
    //计算价格
    Settlement();
}

/**
 * 遍历页面购物车数据保存cookie
 * @constructor
 */
function AddToShoppingCar() {

    //遍历页面上的商品
    $(".cart-list .cart-item").each(function (index,element) {
        var id=$(this).children(".id").html();
        var name=$(this).children(".name").html();
        var tupian=$(this).children(".tupian").children("img").attr("src");
        var price=$(this).children(".price").html();
        var num=$(this).children(".calc").children(".item_num").html();
        console.log("商品id"+id);
        console.log("商品名称"+name);
        console.log("商品图片"+tupian);
        console.log("商品价格"+price);
        console.log("商品数量"+num);
        //构造json字符串
        var jsonStr = "[{'id':'" + id + "','name':'" + name +"','tupian':'" + tupian + "','price':'" + price + "','num':'"+num+"'}]";

        //本地保存的json字符串转换成对象
        var jsonObj = eval("(" + $.cookie(cookieProductID) + ")");
        //第一次本地保存不存在!
        if(jsonObj==undefined){
            jsonObj=eval("(" +jsonStr+ ")");
        }
        var findProduct = false;//是否找到产品ID,找到则为TRUE,否则为FALSH
        for(var obj in jsonObj) {
            //本地保存有当前商品，更新当前商品信息
            if(jsonObj[obj].id == id) {
                jsonObj[obj].name=name;
                jsonObj[obj].tupian=tupian;
                jsonObj[obj].price=price;
                jsonObj[obj].num=num;
                findProduct = true;
                break;
            }
        }
        //当前商品在本地不存在
        if(findProduct == false&&jsonObj!=undefined){ //没找到,则添加
            jsonObj[jsonObj.length] = new Object();
            jsonObj[jsonObj.length - 1].id = id;
            jsonObj[jsonObj.length - 1].name = name;
            jsonObj[jsonObj.length - 1].tupian = tupian;
            jsonObj[jsonObj.length - 1].price = price;
            jsonObj[jsonObj.length - 1].num = num;
        }
        //购物车添加本地cookie
        $.cookie(cookieProductID, JSON.stringify(jsonObj), cookieSet); //写入coockie  JSON需要json2.js支持

        //如果当前用户为登陆状态，购物车保存在Redis
        if(isogin!=null){

        }

    });

};
$(function () {

    //初始化购物车数据
    getToShoppingCar();

})